/**
	一个简单的函数
	函数的几个经典问题:
	a.传递值还是传递地址（引用）
	b.可以接受的参数类型
	c.返回方式
*/

fn main(){
    let mut a:i32=10;
    let b:i32=20;
    let c:i32=add_with_param(a,b);
    println!("{}+{}={}",a,b,c);
	let  s:String=String::from("爱");
	print(s);
}

fn show_without_param(){
}

/**
  语法还是比较怪异的
  1.返回类型放在后
  2.参数定义是类型在后，和java有点不太一样的  
 */
fn add_with_param(a:i32,b:i32)->i32{
    return a+b;
}
/**
   参试定义个传地址的参数
 */
fn print(s:String){
	let s1={
		let c="中华".to_string();
		s+&c
	};
	println!("s1值={}",s1);
}